import pymysql
import requests
from urllib.parse import urlencode

original_url = 'https://www.autohome.com.cn/ashx/AjaxIndexHotCarByDsj.ashx?'
requests_headers = {
    'Referer': 'https://www.autohome.com.cn/beijing/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}


def get_one(cityid):
    p = {
        'cityid': cityid
    }
    complete_url = original_url + urlencode(p)
    try:
        response = requests.get(url=complete_url, params=requests_headers)
        print("Response text:", response.text)
        if response.status_code == 200:
            return response.json()
    except requests.exceptions.ConnectionError as e:
        print('Error', e.args)


def parse_three(json):
    if json:
        db2 = pymysql.connect(host='localhost', user='root', password='ywh.2004430', database='AJAX', port=3306)
        cursor2 = db2.cursor()
        cursor2.execute("DROP TABLE IF EXISTS ajax")
        sql1 = """CREATE TABLE IF NOT EXISTS `ajax` (
            `id` int(10) NOT NULL AUTO_INCREMENT,
            `full_name` char(20) NOT NULL,
            PRIMARY KEY (`id`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;"""
        cursor2.execute(sql1)
        print("Created table Successful.")

        for i in json:
            for b in i.get('SeriesList'):
                item_list = b.get('Name')
                item_list2 = b.get('Id')
                print(item_list + ':' + str(item_list2))
                sql2 = 'INSERT INTO ajax(full_name, id) VALUES(%s,%s)'
                try:
                    cursor2.execute(sql2, (item_list, item_list2))
                    db2.commit()
                except:
                    db2.rollback()
        db2.close()


if __name__ == '__main__':
    city_list = [{'北京': '110100'}]
    for city in city_list:
        jo = get_one(list(city.values())[0])
        parse_three(jo)
